feat: TEM-27 remove FileBrowser, patch HIGH/CRITICAL vulns, and harden build/release CI - #154
Draft
Chmokachka wants to merge 10 commits into
Draft
feat: TEM-27 remove FileBrowser, patch HIGH/CRITICAL vulns, and harden build/release CI#154Chmokachka wants to merge 10 commits into
Chmokachka wants to merge 10 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
TEM-27. Removes the unused FileBrowser binary from
runpod/base, patches theoutstanding CRITICAL/HIGH vulnerabilities across our image families, turns Grype
into a hard gate on the families we've cleaned up, and hardens the build/release
pipeline so flaky BuildKit cache failures can no longer silently skip a release
or mis-bump the version.
FileBrowser is being archived on Sept 1st
by upstream and ships with known, will-not-fix security advisories. We installed
the binary in
basebut never started it (onlycomfyui-baseruns it), so itwas pure attack surface with no benefit — dropped it.
Changes
FileBrowser
launched by
start.sh, so no runtime behavior changes).Vulnerability fixes
Pillowfrom PyPI over the CVE-affected copytorchvisiondrags in from the PyTorch wheel index. Version is centralized asPILLOW_VERSIONindocker-bake.hcland only applied when Pillow is actuallypresent (torch-only builds are untouched).
node_exporter1.11.1 → 1.12.1 and Grafana13.1.0 → 13.1.1 (Go stdlib / dependency CVEs in the embedded binaries).
runpodctlv2.3.0 → v2.7.2 (Go stdlib / x-crypto CVEs).jupyterlab4.5.9 → 4.5.10,mistune3.2.1 → 3.3.0,add
msgpack==1.2.1, addsoupsieve==2.8.4,pillow12.2.0 → 12.3.0.jupyterlab4.5.9 → 4.5.10, addmsgpack==1.2.1,pillow12.2.0 → 12.3.0.jupyterlab4.5.9 → 4.5.10.CI - vulnerability gating
fail-on-findingsinput (defaultfalse, report-only).Enabled (
true) for the cleaned-up families:base,pytorch,nvidia.Other families stay report-only until their remaining findings are resolved.
CI - build robustness
useblacksmith/setup-docker-builderv1 → v2.0.1 andadd a required
cache-keyinput. Each image family now uses a distinct cachelineage (
<repo>/base,/pytorch,/cluster,/nvidia,/rocm,/autoresearch) so families no longer thrash each other's BuildKit sticky-diskcache — this also fixes the "no space left on device" failures on ROCm builds.
docker buildx bakestep now runsthrough
.github/actions/bake-retry. On a transient BuildKit failure (typicallysticky-disk cache corruption:
failed to compute cache key … unexpected commit digest … failed precondition) it prunes the builder cache and retries once with--no-cache, so a poisoned cache entry self-heals within the run instead ofturning the build red. Centralised so each bake step stays a one-line call.
CI - release correctness
the merge commit's subject only, not its body or the whole
last-tag..HEADrange. Aci:/chore:squash merge whose body listsfeat:/fix:branch commits (or that follows earlier un-released commits inthe range) no longer triggers a phantom version bump.
workflow_dispatchthat createsthe git tag + GitHub Release for an already-built-and-pushed version, without
rebuilding. Recovers the case where a flaky build left
releasestuck inskipped(GitHub's "Re-run failed jobs" never resurrects a skipped downstreamjob). Guards: main-only, tag-format validation, refuses if the tag already
exists, and shares the push-release concurrency lane.
Notes / follow-ups
pytorch-cluster(dcgm-exporter),rocm(base OpenSSL/Python), andautoresearch(pillow/urllib3via its ownuv.lock) still have findingsthat depend on upstream releases — those families remain report-only for now.